package com.hskn.hss.module.depart.service;

import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.service.IService;
import com.hskn.hss.entity.AjaxResult;
import com.hskn.hss.entity.TreeEntity;
import com.hskn.hss.exception.HssException;
import com.hskn.hss.module.depart.entity.SysDepart;
import com.hskn.hss.module.tlemployee.entity.TlEmployee;
import com.hskn.hss.module.user.entity.User;

import java.util.List;
import java.util.Map;

/**
 * <p>
 * 组织机构表 服务类
 * </p>
 *
 * @author hskn
 * @since 2021-04-30
 */
public interface ISysDepartService extends IService<SysDepart> {

    AjaxResult insert(JSONObject params) throws HssException;
    AjaxResult deleteByid(JSONObject params) throws HssException;
    AjaxResult deletebatchbyid(SysDepart sysDepart) throws HssException;
    AjaxResult update(JSONObject params) throws HssException;

    SysDepart getInfoById(JSONObject params) throws HssException;

    JSONObject getList(JSONObject params) throws HssException;

    List getdDeptIdByParentId(String parentid);

    List<TreeEntity> getTreeList();

    List getAppUserList();

    List getAppUserListBySearch(JSONObject params);

    String getLeaderUids() throws HssException;

    JSONObject collectList(JSONObject params) throws HssException;

    AjaxResult selectDepartAlarmCharsTale(Integer pageSize, Integer pageNum, SysDepart depart);

    AjaxResult selectDepartAlarmChars(SysDepart depart);

    Map<String, SysDepart> getDepartMap(QueryWrapper<SysDepart> departQueryWrapper);

    List<String> getChildIdsByIId(String id);
}
